<?php
class Empresa extends Zend_Db_Table
{
    protected $_name = "empresa";
	
    public function lista(array $request)
    {
	$dados = array();
		
	$select = $this->select()
			->from($this, "COUNT(*) AS qtd");
	$result = $this->fetchRow($select);
		
	if($result->qtd > 0){
            $total_pages = ceil($result->qtd / $request['rows']);
	}else{
            $total_pages = 0;
	}

	if($request['page'] == 1){
            $start = 0;
	}else{
            $start = ($request['rows'] * $request['page']) - $request['rows'];
	}

	$dados['total']	= $total_pages;
	$dados['page']	= $request['page'];
	$dados['records'] = $result->qtd;
		
	/*$select = $this->select()
			->from($this)
			->limit($request['rows'], $start);
	
        if($request['sidx']){
            $select->order($request['sidx'] . " " . $request['sord']);
	}*/
        $select =  "SELECT *, es.nome as estado";
        $select .= " FROM empresa em";
        $select .= " INNER JOIN estados es ON (es.idEstado = em.idEstado)";
        
        if($request['sidx']){
            $select .= " ORDER BY " . $request['sidx']  . " " . $request['sord'] . " LIMIT " . $start ." , ". $request['rows'];
	}else{
            $select .=  " LIMIT " . $start ." , ". $request['rows'] ;
	}
        
	$resultado =  $this->_db->fetchAll($select);
        	
        for($cont = 0; $cont < count($resultado); $cont++) {
            $dados['rows'][$cont]['id'] = $resultado[$cont]['idEmpresa'];
            $dados['rows'][$cont]['cell'] = array(
                                                $resultado[$cont]['razaoSocial'],
						$resultado[$cont]['nomeFantasia'],
						$resultado[$cont]['cnpj'],
						$resultado[$cont]['endereco'],
						$resultado[$cont]['numero'],
                                                $resultado[$cont]['bairro'],
						$resultado[$cont]['cidade'],
						$resultado[$cont]['estado'],
                                                $resultado[$cont]['nomRespTecnico'],
                                                $resultado[$cont]['crRespTecnico'],
                                                $resultado[$cont]['nomRespSorologia'],
                                                $resultado[$cont]['crRespSorologia'],
                                                $resultado[$cont]['msgPadrao']
                                                );
	}
        return $dados;
    }

    public function edit($usuario, array $request)
    {
        $dados = array(
            'endereco' => strtoupper($request['endereco']),
            'numero' => $request['numero'],
            'bairro' => strtoupper($request['bairro']),
            'cidade' => strtoupper($request['cidade']),
            'idEstado' => $request['estado'],
            'nomRespTecnico' => strtoupper($request['nomRespTecnico']),
            'nomRespSorologia' => strtoupper($request['nomRespSorologia']),
            'crRespTecnico' => strtoupper($request['crRespTecnico']),
            'crRespSorologia' => strtoupper($request['crRespTecnico']),
            'msgPadrao' => strtoupper($request['msgPadrao']),
            'idUsuAtu' => $usuario
	);
	$where = $this->getAdapter()->quoteInto("idEmpresa = ?", $request['id']);
	$resultado = $this->update($dados, $where);
        if($resultado != 0)
            return 1;
        else
            return 0;
    }		
	
    public function del($usuario, array $request)
    {
        $dados = array(
            'eativo' => 0,
            'idUsuAtu' => $usuario
	);
	$where = $this->getAdapter()->quoteInto("idEmpresa = ?", $request['id']);
	$this->update($dados, $where);
    }
}
?>